﻿namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BSplineType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BezierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CubicSplineType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GeodesicStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GeodesicType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClothoidType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OffsetCurveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcByCenterPointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleByCenterPointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcStringByBulgeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcByBulgeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringSegmentType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    public abstract class AbstractCurveSegmentType
    {
        private string _numDerivativesAtStart = "0";
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativesAtStart", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativesAtStart 
        {
            get
            {
                return this._numDerivativesAtStart;
            }
            set
            {
                this._numDerivativesAtStart = value;
            }
        }

        private string _numDerivativesAtEnd = "0";
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativesAtEnd", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativesAtEnd
        {
            get
            {
                return this._numDerivativesAtEnd;
            }
            set
            {
                this._numDerivativesAtEnd = value;
            }
        }

        private string _numDerivativeInterior = "0";
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("numDerivativeInterior", DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string NumDerivativeInterior
        {
            get
            {
                return this._numDerivativeInterior;
            }
            set
            {
                this._numDerivativeInterior = value;
            }
        }
    }
}
